import axios from 'axios'

const API_URL = 'https://open.bigmodel.cn/api/paas/v4/chat/completions'
const API_KEY = 'aa09e7e1e03d4fc988986de5a88f09a1.rWkBSmLr4zHUZODk' // 需要替换为实际的API密钥


function formatJokes(text) {
    // 验证输入
    if (!text || typeof text !== 'string') {
        console.error('无效的数据格式');
        return [];
    }

    // 判断是否包含序号格式
    if (!/\d+\./.test(text)) {
        console.error('数据格式不符合要求');
        return [];
    }

    // 按数字序号分割
    const jokesArray = text.split(/\d+\./).filter(Boolean);
    
    // 格式化并过滤无效内容
    return jokesArray
        .map((joke, index) => {
            const content = joke.trim().replace(/["\\\n]/g, '').trim();
            return content ? {
                id: index + 1,
                content,
                type: '知识点'
            } : null;
        })
        .filter(Boolean); // 过滤掉空值
}

export const getJoke = async () => {
    try {
        const response = await axios.post(API_URL,
            {
                messages: [{
                    role: "user",
                    content: "日常冷知识,随机自然科学,天文,人文,历史,地理,十个就行"
                }],
                model: "glm-4-flash", // 根据API文档选择合适的模型
            },
            {
                headers: {
                    'Authorization': `Bearer ${API_KEY}`,
                    'Content-Type': 'application/json'
                }
            }
        )
        // 格式化返回的内容
        const joke = formatJokes(response.data.choices[0].message.content)
        console.log(joke)
        return {
            content: joke,
            timestamp: new Date().toLocaleString()
        }
    } catch (error) {
        console.error('获取笑话失败:', error)
        return null
    }
}